package br.gov.mi.corporativo.dominio.boundary.comum.agencia;

import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.comum.Agencia;
import br.gov.mi.corporativo.dominio.repositorio.comum.AgenciaRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.agencia.AgenciaEndPoint")
public class AgenciaServico extends CrudServicoImpl<Agencia, Long, AgenciaRepositorio>  implements AgenciaEndPoint{
	
    @Inject
    public void setRepository(AgenciaRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public List<Agencia> recuperarPorIdMunicipio(Long id) {
		return repositorio.findByMunicipio(id);
	}

	@Override
	public List<Agencia> recuperarPorIdUf(Long id) {
		return repositorio.findByUf(id);
	}

	@Override
	public List<Agencia> recuperarPorCep(String cep) {
		return repositorio.findByNrCepContainingIgnoreCase(cep);
	}

	@Override
	public List<Agencia> recuperarPorNome(String nome) {
		return repositorio.findByNmAgencia(nome);
	}

	
	
}
